home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / gcc / ixemsdk.lha / man / cat2 / getfsstat.0 < prev    next >
Text File  |  1996-09-01  |  3KB  |  75 lines

  1.  
  2. GETFSSTAT(2)               UNIX Programmer's Manual               GETFSSTAT(2)
  3.  
  4. NNAAMMEE
  5.      ggeettffssssttaatt - get list of all mounted file systems
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ##iinncclluuddee <<ssyyss//ppaarraamm..hh>>
  9.      ##iinncclluuddee <<ssyyss//uuccrreedd..hh>>
  10.      ##iinncclluuddee <<ssyyss//mmoouunntt..hh>>
  11.  
  12.      _i_n_t
  13.      ggeettffssssttaatt(_s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f, _l_o_n_g _b_u_f_s_i_z_e, _i_n_t _f_l_a_g_s)
  14.  
  15. DDEESSCCRRIIPPTTIIOONN
  16.      GGeettffssssttaatt() returns information about all mounted file systems.  _B_u_f is a
  17.      pointer to statfs structures defined as follows:
  18.  
  19.      typedef struct { int32_t val[2]; } fsid_t;
  20.  
  21.      #define MFSNAMELEN   16 /* length of fs type name, including nul */
  22.      #define MNAMELEN     32 /* length of buffer for returned name */
  23.  
  24.      struct statfs {
  25.          short   f_type;     /* type of file system (unused; zero) */
  26.          short   f_flags;    /* copy of mount flags */
  27.          long    f_bsize;    /* fundamental file system block size */
  28.          long    f_iosize;   /* optimal transfer block size */
  29.          long    f_blocks;   /* total data blocks in file system */
  30.          long    f_bfree;    /* free blocks in fs */
  31.          long    f_bavail;   /* free blocks avail to non-superuser */
  32.          long    f_files;    /* total file nodes in file system */
  33.          long    f_ffree;    /* free file nodes in fs */
  34.          fsid_t  f_fsid;     /* file system id */
  35.          uid_t   f_owner;    /* user that mounted the file system */
  36.          long    f_spare[4]; /* spare for later */
  37.          char    f_fstypename[MFSNAMELEN]; /* fs type name */
  38.          char    f_mntonname[MNAMELEN];    /* directory on which mounted */
  39.          char    f_mntfromname[MNAMELEN];  /* mounted file system */
  40.      };
  41.  
  42.      Fields that are undefined for a particular file system are set to -1.
  43.      The buffer is filled with an array of _s_t_a_t_f_s structures, one for each
  44.      mounted file system up to the size specified by _b_u_f_s_i_z_e.
  45.  
  46.      If _b_u_f is given as NULL, ggeettffssssttaatt() returns just the number of mounted
  47.      file systems.
  48.  
  49.      Normally _f_l_a_g_s should be specified as MNT_WAIT. If _f_l_a_g_s is set to
  50.      MNT_NOWAIT, ggeettffssssttaatt() will return the information it has available
  51.      without requesting an update from each file system.  Thus, some of the
  52.      information will be out of date, but ggeettffssssttaatt() will not block waiting
  53.      for information from a file system that is unable to respond.
  54.  
  55. RREETTUURRNN VVAALLUUEESS
  56.      Upon successful completion, the number of _s_t_a_t_f_s structures is returned.
  57.      Otherwise, -1 is returned and the global variable _e_r_r_n_o is set to indi-
  58.      cate the error.
  59.  
  60. EERRRROORRSS
  61.      GGeettffssssttaatt() fails if one or more of the following are true:
  62.  
  63.      [EFAULT]      _B_u_f points to an invalid address.
  64.  
  65.      [EIO]         An I/O error occurred while reading from or writing to the
  66.                    file system.
  67.  
  68. SSEEEE AALLSSOO
  69.      statfs(2),  fstab(5),  mount(8)
  70.  
  71. HHIISSTTOORRYY
  72.      The ggeettffssssttaatt() function first appeared in 4.4BSD.
  73.  
  74. BSD Experimental                 June 9, 1993                                2
  75.